import { reqGetSearchInfo } from "@/api"
// search模块的小仓库
const actions = {
    async getSearchList(context, params) {
        // 获取search模块的数据
        // 通过reqGetSearchInfo获取数据的时候，至少需要传递一个参数（空对象）
        // params形参：是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
        const result = await reqGetSearchInfo(params)
        if (result.code === 200) {
            context.commit("GETSEARCHINFO", result.data)
        }
    },
}
const mutations = {
    GETSEARCHINFO(state, searchList) {
        state.searchList = searchList
    },
}
const state = {
    // 仓库初始状态
    searchList: {},
}
// 计算属性，在项目当中，主要作用：在仓库中为了简化数据而生。
// 可以把我们将来在组件当中需要用的数据简化一下【将来组件在获取数据的时候就方便了】
const getters = {
    // 当前形参state，是当前仓库的state，不是大仓库的
    goodsList(state) {
        // 如果服务器数据回来了，这是一个数组
        // 假如网络不给力|没有网络，state.searchList.goodsList返回的是undefined
        // 计算新的属性的属性值至少给人家来一个数组
        return state.searchList.goodsList || []
    },
    trademarkList(state) {
        return state.searchList.trademarkList || []
    },
    attrsList(state) {
        return state.searchList.attrsList || []
    },
    total(state) {
        return state.searchList.total || []
    },
}
export default {
    namespaced: true,
    actions,
    mutations,
    state,
    getters,
}
